In today's electronic commerce (e-commerce) environment, the ability to adapt quickly to the changing needs of a business partner or a customer can mean the difference between a business' success or failure. The global economy demands that e-commerce applications are available and ready, 24 hours a day, 7 days a week. The workhorse of today's Business-to-Business (B2B) and Business-to-Commerce (B2C) environments is the application server, an example of which is the WebLogic family of products developed by BEA Systems, Inc. San Jose, Calif. Application servers (and Internet-oriented web servers) provide the foundation for building such environments, allowing a business to quickly build and deploy scalable e-commerce applications using an open standards-based platform that grows as business needs demands. Using an advanced application server, a business can deliver innovative applications, attracting and retaining more customers.
Because of their strategic importance, most application servers allow a system administrator a considerable degree of control in actually managing the server. This degree of control becomes particularly important as the number of servers in an organization increases. Large organizations may have several dozen, even hundreds of application servers, each of which may operate independently of one another, and with typically little or no administrative input.
However, there will always come a time when this pool of servers must cooperate, for example in a maintenance situation in which one or more servers are being started, stopped, added or removed from the pool, or in a failover situation where a functioning server takes over the processing for another, failed server. Tasks like these are best handled through a combination of automatic processing that also allows administrative input where necessary. One of the problems with the current structure for starting and shutting down a server is that it is complicated and allows very little administrative control. The ability to start and stop servers quickly and gracefully would improve availability, but current methods do not allow this instead a server must be started in one long-running step and cannot be shut down without risk of disrupting in-flight work. What is desirable is a server configuration that allows a server to be brought up as a hot-standby server for a running, active server, and that allows servers to be suspended gracefully and removed from service without disrupting clients.